/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package result;

import genArchi.GenArchiPackage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see result.ResultFactory
 * @model kind="package"
 *        annotation="Comments abstract='This node represents the scheduling for the set of tasks. For each method, if the result for the set (undetermined, schedulable, non schedulable) exists, this node is added to the graph. If not, a new one with the corresponding is result is created. By this way, we are able to compare the different results of the methods.' previous='tRM_LL73, tEDF_LL73, resultsWCRT, spu96a01' next='null' bibtex='null'"
 * @generated
 */
public interface ResultPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "result";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://result";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "result";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	ResultPackage eINSTANCE = result.impl.ResultPackageImpl.init();

	/**
	 * The meta object id for the '{@link result.impl.SchedulingResultImpl <em>Scheduling Result</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see result.impl.SchedulingResultImpl
	 * @see result.impl.ResultPackageImpl#getSchedulingResult()
	 * @generated
	 */
	int SCHEDULING_RESULT = 0;

	/**
	 * The feature id for the '<em><b>Root</b></em>' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__ROOT = GenArchiPackage.NODE__ROOT;

	/**
	 * The feature id for the '<em><b>Next</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__NEXT = GenArchiPackage.NODE__NEXT;

	/**
	 * The feature id for the '<em><b>Previous</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__PREVIOUS = GenArchiPackage.NODE__PREVIOUS;

	/**
	 * The feature id for the '<em><b>Done</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__DONE = GenArchiPackage.NODE__DONE;

	/**
	 * The feature id for the '<em><b>Id</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__ID = GenArchiPackage.NODE__ID;

	/**
	 * The feature id for the '<em><b>Result</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT__RESULT = GenArchiPackage.NODE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Scheduling Result</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SCHEDULING_RESULT_FEATURE_COUNT = GenArchiPackage.NODE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link result.Results <em>Results</em>}' enum.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see result.Results
	 * @see result.impl.ResultPackageImpl#getResults()
	 * @generated
	 */
	int RESULTS = 1;


	/**
	 * Returns the meta object for class '{@link result.SchedulingResult <em>Scheduling Result</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Scheduling Result</em>'.
	 * @see result.SchedulingResult
	 * @generated
	 */
	EClass getSchedulingResult();

	/**
	 * Returns the meta object for the attribute '{@link result.SchedulingResult#getResult <em>Result</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Result</em>'.
	 * @see result.SchedulingResult#getResult()
	 * @see #getSchedulingResult()
	 * @generated
	 */
	EAttribute getSchedulingResult_Result();

	/**
	 * Returns the meta object for enum '{@link result.Results <em>Results</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for enum '<em>Results</em>'.
	 * @see result.Results
	 * @generated
	 */
	EEnum getResults();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	ResultFactory getResultFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link result.impl.SchedulingResultImpl <em>Scheduling Result</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see result.impl.SchedulingResultImpl
		 * @see result.impl.ResultPackageImpl#getSchedulingResult()
		 * @generated
		 */
		EClass SCHEDULING_RESULT = eINSTANCE.getSchedulingResult();

		/**
		 * The meta object literal for the '<em><b>Result</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute SCHEDULING_RESULT__RESULT = eINSTANCE.getSchedulingResult_Result();

		/**
		 * The meta object literal for the '{@link result.Results <em>Results</em>}' enum.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see result.Results
		 * @see result.impl.ResultPackageImpl#getResults()
		 * @generated
		 */
		EEnum RESULTS = eINSTANCE.getResults();

	}

} //ResultPackage
